﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WMSmanagement.IBaseService.Sale.DTO
{
    /// <summary>
    /// 显示销售管理
    /// </summary>
    public class ShowSaleDTO
    {
        public int Id { get; set; }
        /// <summary>
        /// 销售订单号
        /// </summary>
        [StringLength(30)]
        public string? SalesOrderCode { get; set; }

        /// <summary>
        /// 出库数
        /// </summary>
        public int? OutQuantity { get; set; }

        /// <summary>
        /// 退货数
        /// </summary>
        [StringLength(10)]
        public string? ReturnQuantity { get; set; }

        /// <summary>
        /// 退货数（出库）
        /// </summary>
        [StringLength(10)]
        public int? ReturnOutQuantity { get; set; }

        /// <summary>
        /// 销售时间
        /// </summary>
        public DateTime? CreateTime { get; set; }

        /// <summary>
        /// 制单人
        /// </summary>
        [StringLength(10)]
        public string? Maker { get; set; }

        /// <summary>
        /// 制单时间
        /// </summary>
        public DateTime? MakeTime { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [StringLength(100)]
        public string? Remark { get; set; }

        /// <summary>
        /// 发货日期
        /// </summary>
        public DateTime? DeliveryDate { get; set; }

        /// <summary>
        /// 客户编号
        /// </summary>
        [StringLength(50)]
        public string? CustomerCode { get; set; }

        /// <summary>
        /// 客户名称
        /// </summary>
        [StringLength(10)]
        public string? CustomerName { get; set; }

        /// <summary>
        /// 联系人
        /// </summary>
        [StringLength(10)]
        public string? CustomerContact { get; set; }

        /// <summary>
        /// 电话
        /// </summary>
        [StringLength(20)]
        public string? CustomerPhone { get; set; }
        /// <summary>
        /// 产品编码
        /// </summary>
        [StringLength(40)]
        public string ProductCode { get; set; }

        /// <summary>
        /// 产品名称
        /// </summary>
        [StringLength(40)]
        public string ProductName { get; set; }

        /// <summary>
        /// 产品规格
        /// </summary>
        [StringLength(30)]
        public string ProductSpecification { get; set; }

        /// <summary>
        /// 类别
        /// </summary>
        [StringLength(10)]
        public string Category { get; set; }

        /// <summary>
        /// 存储单位
        /// </summary>
        [StringLength(10)]
        public string StorageUnit { get; set; }

        /// <summary>
        /// 单位
        /// </summary>
        [StringLength(10)]
        public string Unit { get; set; }

        /// <summary>
        /// 单价
        /// </summary>
        public double UnitPrice { get; set; }
        /// <summary>
        /// 数量
        /// </summary>
        public int? Quantity { get; set; }

    }
    public class RequestSaleDTO
    {
        /// <summary>
        /// 销售订单号
        /// </summary>
        [StringLength(30)]
        public string? SalesOrderCode { get; set; }
        /// <summary>
        /// 产品编码
        /// </summary>
        [StringLength(40)]
        public string? ProductCode { get; set; }
        /// <summary>
        /// 产品名称
        /// </summary>
        [StringLength(40)]
        public string? ProductName { get; set; }
        public int pageindex { get; set; } = 1;
        public int pagesize { get; set; } = 10;
    }
    public class GetSaleDTO
    {
        public List<ShowSaleDTO> list { get; set; }
        public int listcount { get; set; }
        public int core { get; set; } = 0;
    }
}
